package com.meituan.sdk.model.ddzhkh.generalreserve.generalreserveReserveOrderconfirm;

import com.meituan.sdk.annotations.ApiMeta;
import com.google.gson.reflect.TypeToken;
import javax.validation.constraints.NotBlank;
import java.lang.reflect.Type;
import com.meituan.sdk.internal.utils.JsonUtil;
import com.google.gson.annotations.SerializedName;
import javax.validation.constraints.NotNull;
import com.meituan.sdk.MeituanResponse;
import com.meituan.sdk.MeituanRequest;

/**
* 创单回调接口-接单结果确认
* This file was automatically generated.
*/
@ApiMeta(
    path = "/ddzhkh/generalreserve/reserve/orderconfirm",
    businessId = 59,
    apiVersion = "10003",
    apiName = "generalreserve_reserve_orderconfirm",
    needAuth = true
)
public class GeneralreserveReserveOrderconfirmRequest implements MeituanRequest<GeneralreserveReserveOrderconfirmResponse> {
    /**
    * <p data-diff-id="ct-diff-id-f35820c7-fc6f-4cf3-8cff-f6851669dd47"><span style="color: rgb(31, 45, 61)">订单id</span></p>
    */
    @NotNull(message = "leadsId不能为空")
    @SerializedName("leadsId")
    private Long leadsId;
    /**
    * <p data-diff-id="ct-diff-id-4e411f83-d20c-447d-99b2-11f89109f660"><span style="color: ">美团门店id</span></p><p data-diff-id="ct-diff-id-188b5ccb-720d-476a-b0a3-a7f2c9033602"><span style="color: rgba(0, 0, 0, 0.87)">该字段是混淆字段，实际值类型为混淆后的字符串类型</span></p>
    */
    @NotBlank(message = "opPoiId不能为空")
    @SerializedName("opPoiId")
    private String opPoiId;
    /**
    * <p data-diff-id="ct-diff-id-5401294c-ccaf-4ee2-9dcc-b0dbef0e867b"><span style="color: rgb(31, 45, 61)">接单结果：1.接单 2.拒单</span></p>
    */
    @NotNull(message = "result不能为空")
    @SerializedName("result")
    private Integer result;
    /**
    * <p data-diff-id="ct-diff-id-3e4f30c4-acfe-4d87-a45a-daca1b0a963c"><span style="color: rgb(31, 45, 61)">附加字段</span></p>
    */
    @SerializedName("extraMap")
    private String extraMap;

    public Long getLeadsId() {
        return leadsId;
    }
    public void setLeadsId(Long leadsId) {
        this.leadsId = leadsId;
    }
    public String getOpPoiId() {
        return opPoiId;
    }
    public void setOpPoiId(String opPoiId) {
        this.opPoiId = opPoiId;
    }
    public Integer getResult() {
        return result;
    }
    public void setResult(Integer result) {
        this.result = result;
    }
    public String getExtraMap() {
        return extraMap;
    }
    public void setExtraMap(String extraMap) {
        this.extraMap = extraMap;
    }


    @Override
    public MeituanResponse<GeneralreserveReserveOrderconfirmResponse> deserializeResponse(String response) {
        Type type = new TypeToken<MeituanResponse<GeneralreserveReserveOrderconfirmResponse>>(){}.getType();
        return JsonUtil.fromJson(response, type);
    }
    @Override
    public String serializeToJson() {
        return JsonUtil.toJson(this);
    }


    @Override
    public String toString() {
        return "GeneralreserveReserveOrderconfirmRequest{" + "leadsId=" + leadsId + "," + "opPoiId=" + opPoiId + "," + "result=" + result + "," + "extraMap=" + extraMap + "}";
    }
}
